#ifndef INFO_PANEL_DIALOG_HPP_INCLUDED
#define INFO_PANEL_DIALOG_HPP_INCLUDED

#include "dialog.hpp"
#include "tactics.hpp"
#include "tile_logic.hpp"
#include "unit.hpp"

namespace game
{
class human_player;
}

namespace gui
{

class info_panel_dialog : public dialog
{
public:
	explicit info_panel_dialog(game::human_player& player);

	void set_unit(game::unit_ptr u);
	void set_unit2(game::unit_ptr u);
	void set_loc(const hex::location& loc);
private:
	void handle_draw() const;

	void init();

	void add_unit_info(const game::unit& unit, int xpos);
	void add_tactics(game::unit_ptr unit, int xpos);

	void apply_tactic(game::const_tactic_ptr tactic,  game::unit_ptr unit);

	game::human_player& player_;

	game::unit_ptr unit_;
	game::unit_ptr unit2_;
	hex::location loc_;
};

}

#endif
